from arm_module import desktopArm

def perform_grab(grabPoint, targetPoints, c_z=200, coord_move=-47):
    """
    执行抓取和释放操作
    :param grabPoint: 抓取点坐标 [x, y]
    :param targetPoints: 目标放置点坐标 [-x, -y]
    :param c_z: 高度值，默认为200
    :param coord_move: z轴移动值，默认为-47
    """
    arm = desktopArm()  # 定义机械臂对象

    arm.reset_position()  # 复位机械臂

    # 获取抓取点坐标
    x, y = grabPoint  

    # 移动到目标抓取位置
    arm.move_point(x, y, z=c_z, times=2000)  
    arm.move_axis_point(2, coord_move, times=2000)  # 机械臂沿着z轴下移
    arm.suck_up()  # 吸取物体

    # 移动到抓取位置上方
    arm.move_point(x, y, z=c_z, times=2000)  

    # 移动到目标放置位置
    arm.move_point(targetPoints[0], targetPoints[1], z=c_z, times=2000)  
    arm.move_axis_point(2, coord_move, times=2000)

    arm.suck_release()  # 释放物体

    # 确保机械臂到达目标位置
    arm.move_point(targetPoints[0], targetPoints[1], z=c_z, times=2000)
    arm.reset_position()  # 复位机械臂
